﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//***********************递归************************//
 
//死循环 
//#include <stdio.h>
//int main()
//{
//	printf("hehe\n");
//	main();//main函数中⼜调⽤了main函数
//	return 0;
//}


//int fact(int n)
//{
//	if (n==0)
//	{
//		return 1;
//	}
//	else
//	{
//		return n * fact(n - 1);
//	}
//}
//
////求n的阶乘
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int n_fact = fact(n);
//	printf("%d的阶乘是:%d\n", n, n_fact);
//	return 0;
//}


//顺序打印⼀个整数的每⼀位
//void print_num(int m)  //m=1234
//{
//	if (m>9)
//	{
//		print_num(m / 10);
//	}
//	printf("%d ", m % 10);
//}
//
//int main()
//{
//	int m = 0;
//	scanf("%d", &m);
//	print_num(m);
//	return 0;
//}


//递归求斐波那契数效率太低
//int Fib(int n)
//{
//	if (n <= 2)
//		return 1;
//	else
//		return Fib(n - 1) + Fib(n - 2);
//}
//#include <stdio.h>
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = Fib(n);
//	printf("%d\n", ret);
//	return 0;
//}
//
//#include <stdio.h>
//int count = 0;
//int Fib(int n)
//{
//	if (n == 3)
//		count++;//统计第3个斐波那契数被计算的次数
//	if (n <= 2)
//		return 1;
//	else
//		return Fib(n - 1) + Fib(n - 2);
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = Fib(n);
//	printf("%d\n", ret);
//	printf("\ncount = %d\n", count);
//	return 0;
//}

//int Fib(int n)
//{
//	int a = 1;
//	int b = 1;
//	int c = 1;
//	while (n>2)
//	{
//		c = a + b;
//		a = b;
//		b = c;
//		n--;
//	}
//	return c;
//}
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = Fib(n);
//	printf("%d\n", ret);
//	return 0;
//}